home *** CD-ROM | disk | FTP | other *** search
- unit WINSOCK;
-
- { Winsock.h file for Borland Pascal
- Conversion by Marc B. Manza
- Center for Applied Large-Scale Computing
- Requires Winsock.pas and Winsock.inc
-
- Send any comments/change requests/etc. to:
- manza@flash.poly.edu }
-
- interface
-
- uses WIN31, WinTypes, WinProcs;
-
- {$I winsock.inc }
-
- { Library Functions }
-
- function accept (s : SOCKET; addr : sockaddr; addrlen : integer) : SOCKET;
- function bind (s : SOCKET; addr : sockaddr; namelen : integer) : integer;
- function closesocket (s : SOCKET) : integer;
- function connect (s : SOCKET; name : sockaddr; namelen : integer) : integer;
- function ioctlsocket (s : SOCKET; cmd : longint; argp : u_long) : integer;
- function getpeername (s : SOCKET; name : sockaddr; namelen : integer) : integer;
- function getsockname (s : SOCKET; name : sockaddr; namelen : integer) : integer;
- function getsockopt (s : SOCKET; level, optname : integer; optval : PChar; optlen : integer) : integer;
- function htonl (hostlong : u_long) : u_long;
- function htons (hostshort : u_short) : u_short;
- function inet_addr (cp : PChar) : PIn_Addr; { in_addr }
- function inet_ntoa (inaddr : in_addr) : PChar;
- function listen (s : SOCKET; backlog : integer) : integer;
- function ntohl (netlong : u_long) : u_long;
- function ntohs (netshort : u_short) : u_short;
- function recv (s : SOCKET; buf : PChar; len, flags : integer) : integer;
- function recvfrom (s : SOCKET; buf : PChar; len, flags : integer; from : sockaddr; fromlen : integer) : integer;
- function select (nfds : integer; readfds, writefds, exceptfds : fd_set; timeout : timeval) : longint;
- function send (s : SOCKET; buf : PChar; len, flags : integer) : integer;
- function sendto (s : SOCKET; buf : PChar; len, flags : integer; addrto : sockaddr; tolen : integer) : integer;
- function setsockopt (s : SOCKET; level, optname : integer; optval : PChar; optlen : integer) : integer;
- function shutdown (s : SOCKET; how : integer) : integer;
- function _socket (af, struct, protocol : integer) : SOCKET;
- function gethostbyaddr (addr : PChar; len, struct : integer) : PHostEnt; { hostent }
- function gethostbyname (name : PChar) : PHostEnt; { hostent }
- function getservbyport (port : integer; proto : PChar) : PServEnt; { servent }
- function getservbyname (name, proto : PChar) : PServEnt; { servent }
- function getprotobynumber (proto : integer) : PProtoEnt; { protoent }
- function getprotobyname (name : PChar) : PProtoEnt; { protoent }
- function WSAStartup (wVersionRequired : word; lpWSData : LPWSADATA) : integer;
- function WSACleanup : integer;
- procedure WSASetLastError (iError : integer);
- function WSAGetLastError : integer;
- function WSAIsBlocking : BOOL;
- function WSAUnhookBlockingHook : integer;
- function WSASetBlockingHook (lpBlockFunc : TFarProc) : TFarProc;
- function WSACancelBlockingCall : integer;
- function WSAAsyncGetServByName (HWindow : HWND; wMsg : u_int; name, proto, buf : PChar; buflen : integer) : THandle;
- function WSAAsyncGetServByPort ( HWindow : HWND; wMsg, port : u_int; proto, buf : PChar; buflen : integer) : THandle;
- function WSAAsyncGetProtoByName (HWindow : HWND; wMsg : u_int; name, buf : PChar; buflen : integer) : THandle;
- function WSAAsyncGetProtoByNumber (HWindow : HWND; wMsg : u_int; number : integer;
- buf : PChar; buflen : integer) : THandle;
- function WSAAsyncGetHostByName (HWindow : HWND; wMsg : u_int; name, buf : PChar; buflen : integer) : THandle;
- function WSAAsyncGetHostByAddr (HWindow : HWND; wMsg : u_int; addr : PChar; len, struct : integer;
- buf : PChar; buflen : integer) : THandle;
- function WSACancelAsyncRequest (hAsyncTaskHandle : THandle) : integer;
- function WSAAsyncSelect (s : SOCKET; HWindow : HWND; wMsg : u_int; lEvent : longint) : integer;
-
-
- function WSAMakeSyncReply (Buflen, Error : Word) : LongInt;
- function WSAMakeSelectReply (Event, Error : Word) : LongInt;
- function WSAGetAsyncBuflen (Param : LongInt) : Word;
- function WSAGetAsyncError (Param : LongInt) : Word;
- function WSAGetSelectEvent (Param : LongInt) : Word;
- function WSAGetSelectError (Param : LongInt) : Word;
-
- implementation
-
- var
- fdSet : fd_set;
-
- function FIONBIO (x, y : integer; t : u_long) : u_long;
- begin
- FIONBIO := (IOC_IN OR ((IOCPARM_MASK shl 16) OR (x SHL 8) OR (Y)));
- end;
-
- function WSAMakeSyncReply;
- begin
- WSAMakeSyncReply := MakeLong (Buflen, Error);
- end;
-
- function WSAMakeSelectReply;
- begin
- WSAMakeSelectReply := MakeLong (Event, Error);
- end;
-
- function WSAGetAsyncBuflen;
- begin
- WSAGetAsyncBuflen := LOWORD(Param);
- end;
-
- function WSAGetAsyncError;
- begin
- WSAGetAsyncError := HIWORD(Param);
- end;
-
- function WSAGetSelectEvent;
- begin
- WSAGetSelectEvent := LOWORD(Param);
- end;
-
- function WSAGetSelectError;
- begin
- WSAGetSelectError := HIWORD(Param);
- end;
-
- function accept; external 'WINSOCK' index 1;
- function bind; external 'WINSOCK' index 2;
- function closesocket; external 'WINSOCK' index 3;
- function connect; external 'WINSOCK' index 4;
- function ioctlsocket; external 'WINSOCK' index 12;
- function getpeername; external 'WINSOCK' index 5;
- function getsockname; external 'WINSOCK' index 6;
- function getsockopt; external 'WINSOCK' index 7;
- function htonl; external 'WINSOCK' index 8;
- function htons; external 'WINSOCK' index 9;
- function inet_addr; external 'WINSOCK' index 10;
- function inet_ntoa; external 'WINSOCK' index 11;
- function listen; external 'WINSOCK' index 13;
- function ntohl; external 'WINSOCK' index 14;
- function ntohs; external 'WINSOCK' index 15;
- function recv; external 'WINSOCK' index 16;
- function recvfrom; external 'WINSOCK' index 17;
- function select; external 'WINSOCK' index 18;
- function send; external 'WINSOCK' index 19;
- function sendto; external 'WINSOCK' index 20;
- function setsockopt; external 'WINSOCK' index 21;
- function shutdown; external 'WINSOCK' index 22;
- function _socket; external 'WINSOCK' index 23;
-
- function gethostbyaddr; external 'WINSOCK' index 51;
- function gethostbyname; external 'WINSOCK' index 52;
- function getprotobyname; external 'WINSOCK' index 53;
- function getprotobynumber; external 'WINSOCK' index 54;
- function getservbyname; external 'WINSOCK' index 55;
- function getservbyport; external 'WINSOCK' index 56;
-
- function WSAAsyncSelect; external 'WINSOCK' index 101;
- function WSAAsyncGetHostByAddr; external 'WINSOCK' index 102;
- function WSAAsyncGetHostByName; external 'WINSOCK' index 103;
- function WSAAsyncGetProtoByNumber; external 'WINSOCK' index 104;
- function WSAAsyncGetprotoByName; external 'WINSOCK' index 105;
- function WSAAsyncGetServByPort; external 'WINSOCK' index 106;
- function WSAAsyncGetServByName; external 'WINSOCK' index 107;
- function WSACancelAsyncRequest; external 'WINSOCK' index 108;
- function WSASetBlockingHook; external 'WINSOCK' index 109;
- function WSAUnhookBlockingHook; external 'WINSOCK' index 110;
- function WSAGetLastError; external 'WINSOCK' index 111;
- procedure WSASetLastError; external 'WINSOCK' index 112;
- function WSACancelBlockingCall; external 'WINSOCK' index 113;
- function WSAIsBlocking; external 'WINSOCK' index 114;
- function WSAStartup; external 'WINSOCK' index 115;
- function WSACleanup; external 'WINSOCK' index 116;
-
- end.